Overview
What is HashiCorp Vagrant?
Vagrant is a tool designed to create and configure lightweight, reproducible, and portable development environments. It leverages a declarative configuration file which describes all software requirements, packages, operating system configuration, and users.
Vagrant: Repeatability and Matching Environments at the Cost of Training and Disk Bloat
Vagrant - a must have to integrate with Chef
Vagrant is great for Drupal Dev, but I prefer Lando
Good tool with minor issues for users on Windows machines.
Great for us!
Vagrant is a great, free way to develop for the web locally
Vagrant gives the flexibility and stability local development needs
Let Vagrant do the repetitive work for you
Develop Efficiently - Wherever You Need To
A must have in every developer's toolkit
A MUST for Laravel development
Vagrant gets the job done quickly and easily
Great Solid Tool for Team Development
Vagrant greatly simplifies development
Pricing
What is HashiCorp Vagrant?
Vagrant is a tool designed to create and configure lightweight, reproducible, and portable development environments. It leverages a declarative configuration file which describes all software requirements, packages, operating system configuration, and users.
Entry-level set up fee?
- No setup fee
Offerings
- Free Trial
- Free/Freemium Version
- Premium Consulting/Integration Services
Would you like us to let the vendor know that you want pricing?
7 people also want pricing
Alternatives Pricing
What is HashiCorp Terraform?
Terraform from HashiCorp is a cloud infrastructure automation tool that enables users to create, change, and improve production infrastructure, and it allows infrastructure to be expressed as code. It codifies APIs into declarative configuration files that can be shared amongst team members,…
What is Microsoft System Center?
Microsoft System Center Suite is a family of IT management software for network monitoring, updating and patching, endpoint protection with anti-malware, data protection and backup, ITIL- structured IT service management, remote administration and more. It is available in two editions: standard…
Product Details
- About
- Competitors
- Tech Details
- FAQs
What is HashiCorp Vagrant?
Boasting an easy-to-use workflow and focus on automation, Vagrant aims to lower the development environment setup time, increase development/production parity, and make the "it works on my machine" excuse a relic of the past.
HashiCorp Vagrant Competitors
HashiCorp Vagrant Technical Details
Operating Systems | Unspecified |
---|---|
Mobile Application | No |
Frequently Asked Questions
Comparisons
Compare with
Reviews and Ratings
(40)Community Insights
- Business Problems Solved
- Pros
- Cons
- Recommendations
Vagrant has gained popularity among users who have switched from DesktopServer for their local development stack, citing its versatility and robustness. With Vagrant, users are able to spin up WordPress websites locally and assign them a local domain, offering flexibility and automation. Development teams rely on Vagrant to quickly scaffold web projects, using proprietary Vagrant configurations and boxes that mimic staging and production environments. Vagrant is primarily used for PHP projects like WordPress but is also utilized for bespoke, bundled, or framework websites.
The use of Vagrant has yielded positive results for various projects. For instance, it has greatly facilitated the development of Taskle by making the process easier and more efficient. Users have found Ansible to be a valuable tool when working with Vagrant, enhancing their overall development experience. Freelance developers and development teams depend on Vagrant for local application development, including Drupal servers, ensuring compatibility with Linux servers and minimizing errors when building code on a Mac.
In addition to its broad range of applications, Vagrant is commonly used in conjunction with version control and deployment tools to enable safer development and testing, optimize local resources usage, and eliminate network latency. Development teams rely on Vagrant to effectively mimic production server environments, addressing compatibility issues and ensuring consistent development environments across all team members. Furthermore, operations teams utilize Vagrant to develop changes applied to production infrastructure via Puppet.
Apart from its role in web development projects, Vagrant plays an important part in one-off development tasks as well as provisioning specific versions of Windows and Internet Explorer for testing purposes. Its ability to serve as a stable environment makes it easier for developers within a company to switch projects and maintain multiple scenarios on servers. It is widely used for Laravel web app development, providing a consistent environment encompassing the necessary packages.
Vagrant's usefulness extends beyond web developers as software developers employ it to deploy, execute, and test software in virtual machines. Additionally, consultants find value in using Vagrant to configure and test products before deploying them in production environments. Overall, Vagrant is a versatile tool that caters to diverse development needs, offering flexibility, efficiency, and consistency in the development process.
Decentralized tool with flexibility: Users consistently praise Vagrant as a decentralized tool that allows them to create container packages for starting projects. This feature provides the flexibility needed to work with different styles of WordPress installs or even create custom environments, enhancing their overall development experience.
Easy configuration for local development: Reviewers appreciate Vagrant's ability to easily set ports and URLs for local development. This convenient feature enables them to seamlessly work on their projects without encountering any issues, such as SQL problems, which they may face when using other tools like MAMP or DesktopServer.
Efficiency and repeatability in development: Many users highlight the efficiency of Vagrant in scaffolding a development and test environment. They consistently achieve repeatable results, ensuring that their projects are built on a solid foundation. Additionally, this efficient workflow saves time and effort during the development process.
Steep Learning Curve: Many users have expressed frustration with the steep learning curve associated with deploying a vagrant package, especially for those who are not familiar with the command line. They have found it challenging to navigate through Vagrant's configuration and setup process.
Bugs in Major Updates: Several reviewers have reported encountering bugs after installing major updates, which have had significant consequences on their development projects. These issues disrupted their workflow and required additional time and effort to resolve.
Compatibility Issues: Some users have experienced compatibility problems when running Vagrant on certain operating systems, specifically Windows 8.1 Home and Windows 10 Home. This has caused inconvenience and hindered their ability to fully utilize Vagrant's features.
Users have made several recommendations for improving the experience with Vagrant.
First, users recommend using virtual machines and web systems to enhance page results, which can improve performance and provide a better user experience.
Second, users suggest utilizing tools like PuPHPet or Chef to build a Vagrantfile. These tools simplify the process of setting up and configuring Vagrant, making it easier to manage projects.
Lastly, users advise exploring existing projects that use Vagrant on version control networks. This allows users to gain knowledge and experiment with changes, helping them understand how others have implemented Vagrant in their workflows.
Overall, these recommendations aim to enhance the learning curve of Vagrant and provide users with a more efficient and collaborative development environment.
Attribute Ratings
Reviews
(1-4 of 4)Vagrant gives the flexibility and stability local development needs
- Vagrant is decentralized so anyone can make a container package to get a project started. you aren't limited to wordpress, or even one style of wordpress install (you can make a sage.io wordpress environment).
- Vagrant easily lets you set ports and URLs for local development.
- I have yet to have a problem with Vagrant, as opposed to MAMP and DesktopServer, which both gave me SQL or other issues.
- The learning curve is steep for deploying a vagrant package if you've never dealt the command line.
- Initially, it was a little difficult to get the networking right because I didn't have a lot of experience with using to the virtual machine.
- Vagrant has sped up and streamlined a lot of my local development. Spinning up a server is really quick and I don't have to spend a lot of time debugging my environment.
- Local Development
- Local Debugging
- Cross Platform Compatibility
- Experiment with other containers that aren't just PHP sites. Possibly Node.js or python box.
A must have in every developer's toolkit
- Server Virtualization - it's easy to recreate a server environment and automate builds for other developers.
- Seamless integration between the server environment and local machine. This allows you to use your preferred editor, automation tools and other applications, but have the website run in a self-contained environment
- Community
- Learning curve is steep - It can be challenging for someone to set up initially. After some coaching, the basics come pretty quickly though.
- Relies on external Virtual Machine applications - It would be great if Vagrant itself could run the virtual machine instead of leaning on other virtualization software. This is a small detail, but would make setup simple.
- Better support for running
- Vagrant is free - It requires a bit of extra technical knowledge in terms of setup, but since it costs nothing it's an excellent resource
- It can be time consuming to learn, but once you get a good handle on it you're in good shape.
Great Solid Tool for Team Development
Vagrant became the main staple for the company's developers, as we all were part of both the research and the development tasks at the company. So, switching projects - as well as keeping various scenarios at the same time on our servers - really became a breeze for everyone. Now, every new task of research that involves a new set of technology, comes with a vagrant up command, which is nice and simple to deal with the incompatibilities, so common in this industry.
- Maintaining many virtualized machines at the same time
- Multiple platform support
- A lot lighter if compared with VMBox
- The end of "it's working at my computer" kind of excuse when things break at production
- If possible, it could be lighter than its alternatives.
- Improve the way boxes work, to make it easier to update and/or find
- For simple out-of-the-box tasks Vagrant is pretty simple to use, but for much more real-life and complex tasks, it can become quite daunting to configure a box and make it available/distributable to all the company's computers.
- With Vagrant, we were able to make the entire team ready for a project start with a minimum time cost, as each machine would ship the same vagrant box.
- As soon as the project is ready either for testing at our staging servers or production ones, there's no longer the fear of the so famously known "environment differences" deployment bugs. As our servers contain exactly the same machine as the developers use, thus delivering more confidence to the team and trust for the salesmen.
- The learning curve was quite steep to get the devops team ready for configuring and maintaining the virtuallized machines throughout the company
- LXC and Docker
Vagrant greatly simplifies development
When we started work on our second application Taskle, I decided to try using Vagrant for our development environment. I had seen a presentation about it at a local user group and thought it would make development easier.
Initially we used Vagrant with Chef, but eventually, I found Ansible and have really liked using it.
Since Vagrant is a tool for development environments, it's only used by our developers. We currently have several freelance developers working on our applications in addition to myself and we all use Vagrant boxes for development.
- Vagrant allows me to do development locally. That means that as long as I have my computer I can work on our product. This has been helpful when our internet has gone down, or even just if the internet has been slow. I've also been able to work in the car or when I'm camping and don't have wi-fi.
- Vagrant has allowed me to set up a consistent development environment for all of our developers. I know they are using the correct version of the servers and of the code.
- Vagrant allows me to easily.
- Vagrant also allows me to experiment with alternate configurations. I can test our for instance if upgrading the OS or version of PHP is going to break anything.
- Because Vagrant is a low-level tool with many ways to configure it, there is a steep learning curve. You don't just have to learn (or install) Vagrant, but also Virtualbox, Ansible and possibly some Vagrant plugins to keep boxes up to date.
- Support on Windows doesn't seem great. I'm a Mac guy, so it's been very difficult getting things to work as expected when a developer wants to work on Windows.
- Perhaps I didn't configure it correctly, but the default shared folders are not the best for performance. There are also frequently weird issues regarding file permissions.
If you're writing software, particularly software that depends on other services (web servers or databases for example) then Vagrant is great. I know some people skip Vagrant and just set up virtual machines on their own, but I've found that Vagrant streamlines the process nicely and makes it easy to update or swap out versions.
If you're a web developer (which I am) it's amazing. I can have several boxes configured for my different projects and I just spin them up or down based on what I'm working on.
One scenario where this might not be ideal is if you're running Vagrant on a computer that has limited resources. Since you're running a virtual machine with its own operating system and such you'll want a host computer with enough RAM, hard drive space and CPU to run the virtual machine properly without killing the performance of the host.
The virtual disks can also take up a lot of space if you're not careful so if you have many virtual machines provisioned and don't clean up the old ones that you're not using, you may find that your hard drive is full. Each of my Linux servers take up about 10GB of disk space.
- It has streamlined our development processes allowing me to get more development done in a shorter amount of time.
- It has made developer onboarding quicker. Instead of spending a whole lot of time helping a developer getting our application to run on their unique environment, I know that everything is correct.
- Doing development locally means that we don't have to have one or more development servers running in the cloud that we'd be paying for otherwise.
- VirtualBox